﻿using System;
using System.Collections.Generic;
using System.Text;

namespace MiniTool.Extension
{
    public static class ObjExtension
    {

        /// <summary>
        /// 将对象转换为指定类型。
        /// </summary>
        /// <typeparam name="T">要转换的目标类型。</typeparam>
        /// <param name="obj">要转换的对象。</param>
        /// <returns>转换后的对象。</returns>
        /// <exception cref="InvalidCastException">当传入的对象为空或无法转换为指定的类型时引发。</exception>
        public static T CastTo<T>(this object obj) where T : class
        {
            return (obj as T) ?? throw new InvalidCastException("传入的对象为空，或者不能转换为 " + typeof(T).Name + " 类型。");
        }
    }
}
